﻿using System.Collections.Generic;

namespace dPet.Application.Services
{
	using dPet.Application.DataObjects;
	using dPet.Infrastructure.Logging;

	public interface IBasicDataService
	{
		#region Hospital

		/// <summary>
		/// 添加Hospital
		/// </summary>
		MessagedResult<bool> AddHospital(HospitalDto hospitalDto, IOperator @operator);

		/// <summary>
		/// 更新Hospital
		/// </summary>
		MessagedResult<bool> UpdateHospital(string hospitalId, HospitalDto hospitalDto, IOperator @operator);

		/// <summary>
		/// 获取所有Hospital
		/// </summary>
		IEnumerable<HospitalDto> GetHospitals();

		/// <summary>
		/// 根据Id获取Hospital
		/// </summary>
		HospitalDto GetHospital(string id);

		#endregion

		#region Staff Role

		/// <summary>
		/// 添加StaffRole
		/// </summary>
		MessagedResult<bool> AddStaffRole(StaffRoleDto staffRoleDto, IOperator @operator);

		/// <summary>
		/// 更新StaffRole
		/// </summary>
		MessagedResult<bool> UpdateStaffRole(string staffRoleId, StaffRoleDto staffRoleDto, IOperator @operator);

		/// <summary>
		/// 获取所有StaffRole
		/// </summary>
		IEnumerable<StaffRoleDto> GetStaffRoles();

		/// <summary>
		/// 根据Id获取StaffRole
		/// </summary>
		StaffRoleDto GetStaffRole(string id);

		#endregion
	}
}
